package com.company.command_chain.CommandChain.command;

import com.company.command_chain.CommandChain.CommandVO;
import com.company.command_chain.CommandChain.command_name.CommandName;
import com.company.command_chain.CommandChain.command_name.ls.AbstractLS;

/**
 * @author cbf4Life cbf4life@126.com
 * I'm glad to share my knowledge with you all.
 */
public class LSCommand extends Command{
	
	public String execute(CommandVO vo){
		//返回链表的首节点
		//buildChain在Command类当中定义，AbstractLS是一个基类，在command_name.ls包中定义
		//这里临时构建一个职责链，并将链首节点返回！
		CommandName firstNode = super.buildChain(AbstractLS.class).get(0);
		//handleMessage是在CommandName基类当中定义。
		//如果本节点可以处理，则本节点处理，如果处理不了，传递给下一个节点。
		return firstNode.handleMessage(vo);
	}
}
